package com.evaluation.service.api;

import java.util.List;
import java.util.Map;

import com.evaluation.dto.QueryParamsDto;
import com.evaluation.util.ServiceResult;

public interface IUserService {
		
	public boolean updatePassword( String userId, String password, String newPassword );
	
	public boolean loginLog( String userId, String loginIp );
	
	public boolean addUser( String userId, String userName, String password, String userProjectId, String gender );
		
	public Map<String, Object> getUserinfoByUserId( String userId );
	
	public boolean resetPassword( String userId, String newPassword );
	
	public ServiceResult<List<Map<String, Object>>> queryAllUserInfo( QueryParamsDto queryParamsDto, Map< String, String > param );

	public ServiceResult<List<Map<String, Object>>> queryProjectUserByUserId(String userId) ;
	
	public ServiceResult<List<Map<String, Object>>> getAllProject();

	public ServiceResult<String> saveProjectUser(Map<String, String> param);

	public void updateUserLoginTime(Object userId, String loginIp);
	
	public ServiceResult<String> saveUser(Map<String, String> param);

	public ServiceResult<List<Map<String, Object>>> queryLoginLogInfo(QueryParamsDto queryParamsDto, Map<String, String> param);

	public ServiceResult<List<Map<String, Object>>> queryLogMessage(Map<String, String> param);

	public ServiceResult<String> addLogMsg(Map<String, String> param);
	
	public List<Map<String, Object>> queryUsers(Map<String, String> param);

	public ServiceResult<Map<String, List<Map<String, Object>>>> queryUserAndModuleByProject(Map<String, String> param);

	public List<Map<String, Object>> queryAllUserRole();
	
	public List<Map<String, Object>> queryAllUser();
	
	public Map<Object, Object> queryIndexData( String userId );

	public void updateUserImgUrl(Map<String, String> param);

	public List<Map<String, Object>> queryITTeamUsers();

	public ServiceResult<Map<String,List<?>>> statisticalLoginLog( String userId );
}
